
/**合并接口
最简单也最常见的声明合并类型是接口合并。 从根本上说，合并的机制是把双方的成员放到一个同名的接口里。 */
interface Box {
  height: number;
  width: number;
}

interface Box {
  scale: number;
}

let box: Box = {height: 5, width: 6, scale: 10};



//增加字段
type X1={
  a:number;
  b:number
}
type Y1 = X1&{
  c:number;
}
const myx1: X1 = {a:1,b:2};
const myy1: Y1={a:1,b:2,c:2};


//合并字段
type Y2 = {c:number};
type Z1 = X1 & Y2;
const z1 : Z1={a:1,b:2,c:2};

//选取字段
type Y3 = Pick<X1,"b" | "a">;
const myy3 : Y3 = {b:1,a:3};


//删除字段
type Y4 = Omit<X1,"b">
type myy4 = {a:1}